import java.io.File;
import java.util.Date;

public class DiGui {
    public static void main(String[] args) throws NullPointerException {
        File f =new File("C:/Users/mi/Desktop");
        listAllFiles(f);
        test1();
        test2();
        }
        protected static void test1(){
        //相当于把字符串转成file类型
            File file =new File("C:/Users/mi/Desktop/123.txt");
            System.out.println(file.getAbsolutePath());
            System.out.println(file.getAbsoluteFile());
            //返回的是file类，
            System.out.println(file.getPath());
            System.out.println(file.getName());
            System.out.println(file.getParent());
            }
            private static void test2(){
                File file1=new File("C:/Users/mi/Desktop");
                System.out.println(file1.canExecute());
                System.out.println(file1.canRead());
                System.out.println(file1.canWrite());
                System.out.println(new java.util.Date(file1.lastModified()).toString());
                System.out.println(file1.length());
                //System.out.println(file1.list());
            }
            private static void listAllFiles(File f){
        //思路是先传入一个file文件参数，这个参数调用listfiles方法，返回文件目录下的所以文件数组，遍历数组，如果得到的还是目录则继续调用该方法遍历目录数组
               File[] files =f.listFiles();
                //返回一个file对象，而file类一般表示目录或者文件
                for (File file:files){
                    //递归是由出口的，如果是文件不是目录就只是遍历打印就不走IF语句了
                    if(file.isDirectory()){
                    listAllFiles(file);
                    }else
                    System.out.println(file);
                }

            }




}
